home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / mint / netlib / include / kerbind.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-27  |  7.9 KB  |  206 lines

  1. /*
  2.  *    Definitions to access the functions and constants provided
  3.  *    by the kernel with `struct kerinfo'.
  4.  *
  5.  *    09/25/93, kay roemer
  6.  */
  7.  
  8. #ifndef _KERBIND_H
  9. #define _KERBIND_H
  10.  
  11. #include "config.h"
  12. #include "file.h"
  13.  
  14. /* name of the global defined `struct kerinfo *', returned from the kernel */
  15. #define KERINFO kernelinfo
  16. extern struct kerinfo *KERINFO;
  17.  
  18. /* GEMDOS functions */
  19. #define p_term0        (*KERINFO->dos_tab[0x000])
  20. #define c_conin        (*KERINFO->dos_tab[0x001])
  21. #define c_conout    (*KERINFO->dos_tab[0x002])
  22. #define c_auxin        (*KERINFO->dos_tab[0x003])
  23. #define c_auxout    (*KERINFO->dos_tab[0x004])
  24. #define c_prnout    (*KERINFO->dos_tab[0x005])
  25. #define c_rawio        (*KERINFO->dos_tab[0x006])
  26. #define c_rawcin    (*KERINFO->dos_tab[0x007])
  27. #define c_necin        (*KERINFO->dos_tab[0x008])
  28. #define c_conws        (*KERINFO->dos_tab[0x009])
  29. #define c_conrs        (*KERINFO->dos_tab[0x00a])
  30. #define c_conis        (*KERINFO->dos_tab[0x00b])
  31. #define d_setdrv    (*KERINFO->dos_tab[0x00e])
  32. #define c_conos        (*KERINFO->dos_tab[0x010])
  33. #define c_prnos        (*KERINFO->dos_tab[0x011])
  34. #define c_auxis        (*KERINFO->dos_tab[0x012])
  35. #define c_auxos        (*KERINFO->dos_tab[0x013])
  36. #define d_getdrv    (*KERINFO->dos_tab[0x019])
  37. #define f_setdta    (*KERINFO->dos_tab[0x01a])
  38. #define s_uper        (*KERINFO->dos_tab[0x020])
  39. #define t_getdate    (*KERINFO->dos_tab[0x02a])
  40. #define t_setdate    (*KERINFO->dos_tab[0x02b])
  41. #define t_gettime    (*KERINFO->dos_tab[0x02c])
  42. #define t_settime    (*KERINFO->dos_tab[0x02d])
  43. #define f_getdta    (*KERINFO->dos_tab[0x02f])
  44. #define s_version    (*KERINFO->dos_tab[0x030])
  45. #define p_termres    (*KERINFO->dos_tab[0x031])
  46. #define d_free        (*KERINFO->dos_tab[0x036])
  47. #define d_create    (*KERINFO->dos_tab[0x039])
  48. #define d_delete    (*KERINFO->dos_tab[0x03a])
  49. #define d_setpath    (*KERINFO->dos_tab[0x03b])
  50. #define f_create(a,b)    (*KERINFO->dos_tab[0x03c]) ((long)(a), (short)(b))
  51. #define f_open(a,b)    (*KERINFO->dos_tab[0x03d]) ((long)(a), (short)(b))
  52. #define f_close(a)    (*KERINFO->dos_tab[0x03e]) ((short)(a))
  53. #define f_read(a,b,c)    (*KERINFO->dos_tab[0x03f]) ((short)(a), (long)(b), (long)(c))
  54. #define f_write(a,b,c)    (*KERINFO->dos_tab[0x040]) ((short)(a), (long)(b), (long)(c))
  55. #define f_delete    (*KERINFO->dos_tab[0x041])
  56. #define f_seek        (*KERINFO->dos_tab[0x042])
  57. #define f_attrib    (*KERINFO->dos_tab[0x043])
  58. #define f_dup(a)    (*KERINFO->dos_tab[0x045]) ((short)(a))
  59. #define f_force        (*KERINFO->dos_tab[0x046])
  60. #define d_getpath(a,b)    (*KERINFO->dos_tab[0x047]) ((long)(a), (short)(b))
  61. #define m_alloc        (*KERINFO->dos_tab[0x048])
  62. #define m_free        (*KERINFO->dos_tab[0x049])
  63. #define m_shrink(a,b,c)    (*KERINFO->dos_tab[0x04a]) ((short)(a), (long)(b), (long)(c))
  64. #define p_exec(a,b,c,d)    (*KERINFO->dos_tab[0x04b]) ((short)(a), (long)(b), (long)(c), (long)(d))
  65. #define p_term        (*KERINFO->dos_tab[0x04c])
  66. #define f_sfirst(a,b)    (*KERINFO->dos_tab[0x04e]) ((long)(a), (short)(b))
  67. #define f_snext        (*KERINFO->dos_tab[0x04f])
  68. #define f_rename    (*KERINFO->dos_tab[0x056])
  69. #define f_datime    (*KERINFO->dos_tab[0x057])
  70.  
  71. /* MiNT GEMDOS extensions */
  72. #define s_yield        (*KERINFO->dos_tab[0x0ff])
  73. #define f_pipe        (*KERINFO->dos_tab[0x100])
  74. #define f_cntl(a,b,c)    (*KERINFO->dos_tab[0x104]) ((short)(a), (long)(b), (short) (c))
  75. #define f_instat    (*KERINFO->dos_tab[0x105])
  76. #define f_outstat    (*KERINFO->dos_tab[0x106])
  77. #define f_getchar    (*KERINFO->dos_tab[0x107])
  78. #define f_putchar    (*KERINFO->dos_tab[0x108])
  79. #define p_wait        (*KERINFO->dos_tab[0x109])
  80. #define p_nice        (*KERINFO->dos_tab[0x10a])
  81. #define p_getpid    (*KERINFO->dos_tab[0x10b])
  82. #define p_getppid    (*KERINFO->dos_tab[0x10c])
  83. #define p_getpgrp    (*KERINFO->dos_tab[0x10d])
  84. #define p_setpgrp    (*KERINFO->dos_tab[0x10e])
  85. #define p_getuid    (*KERINFO->dos_tab[0x10f])
  86. #define p_setuid    (*KERINFO->dos_tab[0x110])
  87. #define p_kill(a,b)    (*KERINFO->dos_tab[0x111]) ((short)(a), (short)(b))
  88. #define p_signal    (*KERINFO->dos_tab[0x112])
  89. #define p_vfork        (*KERINFO->dos_tab[0x113])
  90. #define p_getgid    (*KERINFO->dos_tab[0x114])
  91. #define p_setgid    (*KERINFO->dos_tab[0x115])
  92. #define p_sigblock    (*KERINFO->dos_tab[0x116])
  93. #define p_sigsetmask    (*KERINFO->dos_tab[0x117])
  94. #define p_usrval    (*KERINFO->dos_tab[0x118])
  95. #define p_domain    (*KERINFO->dos_tab[0x119])
  96. #define p_sigreturn    (*KERINFO->dos_tab[0x11a])
  97. #define p_fork        (*KERINFO->dos_tab[0x11b])
  98. #define p_wait3        (*KERINFO->dos_tab[0x11c])
  99. #define f_select    (*KERINFO->dos_tab[0x11d])
  100. #define p_rusage    (*KERINFO->dos_tab[0x11e])
  101. #define p_setlimit    (*KERINFO->dos_tab[0x11f])
  102. #define t_alarm        (*KERINFO->dos_tab[0x120])
  103. #define p_ause        (*KERINFO->dos_tab[0x121])
  104. #define s_ysconf    (*KERINFO->dos_tab[0x122])
  105. #define p_sigpending    (*KERINFO->dos_tab[0x123])
  106. #define d_pathconf    (*KERINFO->dos_tab[0x124])
  107. #define p_msg        (*KERINFO->dos_tab[0x125])
  108. #define f_midipipe    (*KERINFO->dos_tab[0x126])
  109. #define p_renice    (*KERINFO->dos_tab[0x127])
  110. #define d_opendir    (*KERINFO->dos_tab[0x128])
  111. #define d_readdir    (*KERINFO->dos_tab[0x129])
  112. #define d_rewinddir    (*KERINFO->dos_tab[0x12a])
  113. #define d_closedir    (*KERINFO->dos_tab[0x12b])
  114. #define f_xattr(a,b,c)    (*KERINFO->dos_tab[0x12c]) ((short)(a), (long)(b), (long)(c))
  115. #define f_link        (*KERINFO->dos_tab[0x12d])
  116. #define f_symlink    (*KERINFO->dos_tab[0x12e])
  117. #define f_readlink    (*KERINFO->dos_tab[0x12f])
  118. #define d_cntl(a,b,c)    (*KERINFO->dos_tab[0x130]) ((short)(a), (long)(b), (long)(c))
  119. #define f_chown        (*KERINFO->dos_tab[0x131])
  120. #define f_chmod        (*KERINFO->dos_tab[0x132])
  121. #define p_umask        (*KERINFO->dos_tab[0x133])
  122. #define p_semaphore    (*KERINFO->dos_tab[0x134])
  123. #define d_lock        (*KERINFO->dos_tab[0x135])
  124. #define p_sigpause    (*KERINFO->dos_tab[0x136])
  125. #define p_sigaction    (*KERINFO->dos_tab[0x137])
  126. #define p_geteuid    (*KERINFO->dos_tab[0x138])
  127. #define p_getegid    (*KERINFO->dos_tab[0x139])
  128. #define p_waitpid    (*KERINFO->dos_tab[0x13a])
  129. #define d_getcwd    (*KERINFO->dos_tab[0x13b])
  130. #define s_alert        (*KERINFO->dos_tab[0x13c])
  131.  
  132. /* BIOS functions */
  133. #define g_etmpb        (*KERINFO->bios_tab[0x000])
  134. #define b_constat    (*KERINFO->bios_tab[0x001])
  135. #define b_conin        (*KERINFO->bios_tab[0x002])
  136. #define b_conout    (*KERINFO->bios_tab[0x003])
  137. #define r_wabs        (*KERINFO->bios_tab[0x004])
  138. #define s_etexec    (*KERINFO->bios_tab[0x005])
  139. #define t_ickcal    (*KERINFO->bios_tab[0x006])
  140. #define g_getbpb    (*KERINFO->bios_tab[0x007])
  141. #define b_costat    (*KERINFO->bios_tab[0x008])
  142. #define m_ediach    (*KERINFO->bios_tab[0x009])
  143. #define d_rvmap        (*KERINFO->bios_tab[0x00a])
  144. #define k_bshift    (*KERINFO->bios_tab[0x00b])
  145.  
  146. /* kernel provided utility functions and constants */
  147. #define MAJ_VERSION    (KERINFO->maj_version)
  148. #define MIN_VERSION    (KERINFO->min_version)
  149. #define DEF_MODE    (KERINFO->default_mode)
  150.  
  151. #define drvchng        (*KERINFO->drvchng)
  152.  
  153. #ifdef NDEBUG
  154. #define DEBUG(a)
  155. #define TRACE(a)
  156. #else
  157. #define TRACE(a)    (*KERINFO->trace) a
  158. #define DEBUG(a)    (*KERINFO->debug) a
  159. #endif
  160. #define ALERT(a)    (*KERINFO->alert) a
  161. #define FATAL(a)    (*KERINFO->fatal) a
  162.  
  163. #define kmalloc        (*KERINFO->kmalloc)
  164. #define kfree        (*KERINFO->kfree)
  165. #define umalloc        (*KERINFO->umalloc)
  166. #define ufree        (*KERINFO->ufree)
  167.  
  168. #define strnicmp    (*KERINFO->strnicmp)
  169. #define stricmp        (*KERINFO->stricmp)
  170. #define strlwr        (*KERINFO->strlwr)
  171. #define strupr        (*KERINFO->strupr)
  172. #define sprintf        (*KERINFO->sprintf)
  173.  
  174. #define millis_time    (*KERINFO->millis_time)
  175. #define unixtim        (*KERINFO->unixtim)
  176. #define dostim        (*KERINFO->dostim)
  177.  
  178. #define nap        (*KERINFO->nap)
  179. #define sleep(a,b)    (*KERINFO->sleep)(a,b)
  180. #define isleep(a,b)    (*KERINFO->sleep)(a,b)
  181.  
  182. /* process queues */
  183. #define CURPROC_Q    0
  184. #define READY_Q        1
  185. #define WAIT_Q        2
  186. #define IO_Q        3
  187. #define ZOMBIE_Q    4
  188. #define TSR_Q        5
  189. #define STOP_Q        6
  190. #define SELECT_Q    7
  191.  
  192. #define wake        (*KERINFO->wake)
  193. #define wakeselect    (*KERINFO->wakeselect)
  194.  
  195. #define denyshare    (*KERINFO->denyshare)
  196. #define denylock    (*KERINFO->denylock)
  197.  
  198. #define addtimeout    (*KERINFO->addtimeout)
  199. #define canceltimeout    (*KERINFO->canceltimeout)
  200. #define addroottimeout    (*KERINFO->addroottimeout)
  201. #define cancelroottimeout    (*KERINFO->cancelroottimeout)
  202. #define ikill        (*KERINFO->ikill)
  203. #define iwake        (*KERINFO->iwake)
  204.  
  205. #endif /* _KERBIND_H */
  206.